#ifndef PAD_H_
#define PAD_H_

#include <iostream.h>
#include "..\sdl\include\SDL.h"
#include "figura.h"
#include "punto.h"
#include "color.h"
#include <math.h>

#include "pantalla.h"

class pad: public figura
{
private:
	punto puntoInicial;

	double ancho;
	double alto;
	bool pegajoso;
	SDL_Rect ubicacionNueva;
	SDL_Surface* bufferSurface;



public:
	pad(SDL_Surface* buffer);

	pad(punto pInicial, double width, double height, SDL_Surface* buffer);


	bool isPegajoso() {
		return this->pegajoso;
	}

	void setPegajoso(bool value){
		this->pegajoso = value;
	}

	virtual void setPInicial(punto pInicial);
	punto& getPInicial();

	void setAncho(double width);
	double getAncho();

	void setAlto(double height);
	double getAlto();

	void graficarRellenoRectangulo();

	void graficar(bool actualizarLogicamente);
	void graficar( );
	void graficarpad();


	void desplazamientoArriba();
	void desplazamientoAbajo();

	void algoritmoGraficar();

	void moveDerecha();
	void moveIzquierda();
	void clear();



	float pasajeEntero(float numero, int decimales)
	{
		return (float(int(((numero * pow(10, decimales)))*100.0+.5))/100.0)/ pow(10, decimales);
		//return round(numero * pow(10, decimales)) / pow(10, decimales);
	}


	virtual ~pad();


};

#endif
